YouTube Music レアケース
YouTube Music のデータで何か遊んだりする時にぜひ考慮しておきたいレアケースまとめ
特定地域だけ Music Premium が必要なアルバム
InnerTube でアルバムを引いても Music Premium に入っているアカウントで認証していないと動画IDが取れない 日本でかつMusic Premium に入っていない状態だとそもそも↑のプレイリストが見れない
認証なしで日本用動画IDを取る方法募集中です
クライアント上だと見た目が(アーティスト名 - Topic ではなく)アーティストの公式チャンネルになる曲
fhána Official Channel
fhána - トピック
InnerTube だと player の playerConfig.webPlayerConfig.webPlayerActionsPorting.subscribeCommand.subscribeEndpoint.channelIds あたりから取れる? YouTube Music でしかタイトルが日本語にならない曲
逆に、YouTube 上では日本語なのにYouTube Music だと英語になる曲
そこまでレアではない: アーティスト名がリンクにならない(≒アーティストのチャンネルがない)動画
複数人だからリンクになっていないように思えるが…
などがある
激レア: アルバムがリンクにならない
今は直った
/browse/:id から /playlist?list=... への解決はリージョンロックで中身が見れない地域からだとできない
日本だと
https://gyazo.com/1a983768e6fd5bbea21957e964878eb8
海外だと
https://gyazo.com/0c12d10da4ca454636ee22f854fd552e
困っている!誰か解決方法教えてください
1アルバムに対して複数のプレイリストが存在することがある?
例を紛失してしまった
基本は限定公開のプレイリストがあるが、それに加えて公開のプレイリストがあることがあったはず
YouTube内検索に載せるため?
↓の手段で統一できる
ところで /playlist?list=... から /browse/:id に戻すには?
Web版にはそういうAPIはない
アクセスして謎のJSONを読めば貰えるが…?
よろしい ならばアプリだ
というわけで /youtubei/v1/navigation/resolve_url に {url: "https://music.youtube.com/playlist?list=..."} を渡すと endpoint.browseEndpoint.browseId が貰える!
これを browse すると真プレイリストIDが貰える
ただし上記の通りリージョンロックに影響される
「他のバージョン」は <link rel=canonical> っぽい動きをする
Eutopia / EMOTION / stars we chase の 鐘嵐珠盤の配信上のUPCは 195533006299 である
ちなみに: 別に入れ替わっているというわけではない
三船栞子盤のUPCは 195533006305 である
三船栞子盤が出てくる (正しい)